Enterprises use various channel applications associated with the various channel platforms that are used for internal and external communication. Many of these channel applications are required to interface with process management services, commonly referred to as Business Process Management (BPM) services as a means of conducting events/processing data associated with the channel applications.
In many instances, when a channel application makes a service call to a BPM service, the some of the operations performed by the BPM service are generic operations that would be required of any BPM service regardless of the type of BPM service or the third-party entity/vendor providing the BPM service.
Furthermore, in many instances that channel applications may be incompatible with process management services in terms of Application Programming Interfaces (APIs), message language, message format and the like. While channel applications may be configured to be compatible with specific off-the-shelf process management services, such configuration is problematic in the event that the channel application requires further services or the enterprise desires to use a different type or provider (i.e., vendor, third-party entity) for the off-the-shelf process management service. In such instances, the enterprise is typically required to revise or implement a new channel application to accommodate the new type and/or new provider of the process management service.
Therefore, a need exists to develop an intermediary framework that seamlessly integrates disparate applications, such as channel applications and off-the shelf process management applications and provides for abstraction of common BPM functions. The desired systems, methods and the like should provide for standard implementation across all applications regardless of the type of application/service and the provider (i.e., BPM type-agnostic and/or third-party-entity/vendor-agnostic). In this regard, the desired systems, methods and the like should provide generic operations associated with functions, such as authentication/authorization, entitlement and the like. Moreover, the desired systems, methods and the like should provide for changes/upgrades/enhancements in the Application Programming Interfaces (APIs) of the process management services to be transparent to the channel applications. In addition, the desired systems, methods and the like should provide visibility to request processing flows, traceability via logging of every action taken, standardization of error handling and the like.